ReAction GUI
   HOME

TheInfoList



OR:

ReAction GUI is the
widget toolkit A widget toolkit, widget library, GUI toolkit, or UX library is a library or a collection of libraries containing a set of graphical control elements (called ''widgets'') used to construct the graphical user interface (GUI) of programs. Most widg ...
engine that is used in
AmigaOS AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early version ...
3.2-4.1. It is an evolution of ClassAct, which is an
object-oriented Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pro ...
system of classes that enhanced the aspect of the Workbench 2.0 GUI of AmigaOS.


History

The native Amiga
windowing system In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for ...
is called
Intuition Intuition is the ability to acquire knowledge without recourse to conscious reasoning. Different fields use the word "intuition" in very different ways, including but not limited to: direct access to unconscious knowledge; unconscious cognition; ...
, which manages the rendering of screens, windows and basic widgets. However, until AmigaOS 2.0 there was no standardized
look and feel In software design, the look and feel of a graphical user interface comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, boxes ...
, and often application developers had to write their own non-standard widgets (both buttons and menus), with Intuition providing little support. Intuition was later enhanced with ''gadtools.library'' (AmigaOS 2.0 and later), which provides a set of standard widgets. AmigaOS 2.0 also introduced a standard
dialog Dialog is an online information service owned by ProQuest, who acquired it from Thomson Reuters in mid-2008. Dialog was one of the predecessors of the World Wide Web as a provider of information, though not in form. The earliest form of the Dial ...
system called ''ASL'' (Amiga Standard requester Library) and the ''Amiga User Interface Style Guide'', which defined how applications should be laid out for consistency. Intuition was improved with
BOOPSI BOOPSI (Basic Object Oriented Programming System for Intuition) is an object-oriented programming system for AmigaOS. It extends the AmigaOS windowing environment (Intuition) with an object-oriented subsystem allowing a hierarchy of object classes ...
(Basic Object Oriented Programming System for Intuition) which provides an object-oriented interface on which to build an extensible set of widgets. The introduction of BOOPSI allowed third-party developers to create comprehensive widget toolkits, such as MUI and ClassAct which later evolved into ReAction.


Features


ClassACT

ClassAct is an object-oriented system of classes and gadgets developed on the BOOPSI system introduced with AmigaOS 2.0. Its main features are expandability and modularity. New classes and gadgets could be added to the system and improve it with new capabilities. ClassAct was modeled after the future direction Commodore had envisioned for the future of the OS presented at Orlando Developers Conference prior to Commodore's Bankruptcy. Programmers Christopher 'caldi' Aldi, Timothy Aston, Osma 'Tau' Ahvenlampi came together and ClassAct is a realization of that future.


Classes of ClassACT

Main classes are: * ''window.class'' * ''requester.class'' * ''arexx.class'' Main gadgets are: *''button.gadget'' *''checkbox.gadget'' *''speedbar.gadget'' *''space.gadget'' *''slider.gadget'' *''scroller.gadget'' *''radiobutton.gadget'' *''palette.gadget'' *''listbrowser.gadget'' *''layout.gadget'' *''integer.gadget'' *''getscreenmode.gadget'' *''getfont.gadget'' *''getfile.gadget'' *''fuelgauge.gadget'' *''clicktab.gadget'' *''chooser.gadget'' *''string.gadget'' *''textfield.gadget'' Various styles can be applied to ClassAct gadgets, such as 3D aspect. Gadgets could have bevel borders, the font have fallback option in case the default font is too large to fit the window on the screen, Pen number to use for labels and labels fonts could be set by the user, and many, many options like these.


ReAction

ReAction is the official AmigaOS GUI builder since the OS 3.5 days. Nowadays it is being built on top of Intuition, updated and has a better and more consistent look through the apps that use it. ReAction system of classes and gadgets is almost the same as ClassACT. It is expandable and modular as the same as ClassAct. New classes and gadgets can be added to the system with ease to enhance its features. A simple example of this modularity is the newly-available ReAction gadget class known as ''piechart.gadget''. The main purpose of this gadget is displaying data distribution among various sources, like shares, disk capacity and free space, etc. via a graphical
pie chart A pie chart (or a circle chart) is a circular Statistical graphics, statistical graphic, which is divided into slices to illustrate numerical proportion. In a pie chart, the arc length of each slice (and consequently its central angle and are ...
. Optional interaction from the user is also possible.


Examples of minimal code

Button and String gadgets // Button gadget #include #include #include // Sample layout: LAYOUT_AddChild,OBJ(OBJ_QUIT)=ButtonObject, GA_ID,OBJ_QUIT, GA_Text,"Quit", GA_RelVerify,TRUE, End,//Quit button gadget // String gadget #include #include #include #include #include // Sample layout: LAYOUT_AddChild,OBJ(OBJ_STRING)=StringObject, GA_ID,OBJ_STRING, GA_RelVerify,TRUE, STRINGA_MaxChars,32, STRINGA_WorkBuffer,buffername, End,//String gadget


Other toolkits on Amiga

There are two main widget toolkits competing in the Amiga world. ReAction which is the default GUI toolkit chosen for AmigaOS 3.2-4.1 and for developing AmigaOS software, and MUI which is the default GUI toolkit chosen for
MorphOS MorphOS is an AmigaOS-like computer operating system (OS). It is a mixed proprietary and open source OS produced for the Pegasos PowerPC (PPC) processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale dev ...
.
AROS Aros may refer to: *Aros (Middle-earth), a river in J. R. R. Tolkien's Middle-earth legendarium * Aros, Mull, the location of Aros Castle, a ruined 13th-century castle on the Isle of Mull, Scotland *AROS Research Operating System, a free software i ...
uses
Zune Zune is a discontinued line of digital media products and services marketed by Microsoft from November 2006 until its discontinuation in June 2012. Zune consisted of a line of portable media players, digital media player software for Windows Per ...
toolkit which is an open source MUI clone.
Cygnix Cygwin ( ) is a POSIX-compatible programming and runtime environment that runs natively on Microsoft Windows. Under Cygwin, source code designed for Unix-like operating systems may be compiled with minimal modification and executed. The Cygwin in ...
is a lightweight
UNIX Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
simulation environment for AmigaOS that comes with an
X11 The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wi ...
server
Cygwin Cygwin ( ) is a POSIX-compatible programming and runtime environment that runs natively on Microsoft Windows. Under Cygwin, source code designed for Unix-like operating systems may be compiled with minimal modification and executed. The Cygwin in ...
, and this has been used to port programs such as
AbiWord AbiWord () is a free and open-source software word processor. It is written in C++ and since version 3 it is based on GTK+ 3. The name "AbiWord" is derived from the root of the Spanish word "'' abierto''", meaning "open".Project MascoAbi the Ant ...
or
GIMP GIMP ( ; GNU Image Manipulation Program) is a free and open-source raster graphics editor used for image manipulation (retouching) and image editing, free-form drawing, transcoding between different image file formats, and more specialized task ...
to the Amiga. A slightly related project is a
GTK MUI GTK (formerly GIMP ToolKit and GTK+) is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and proprie ...
wrapper which eventually will simplify porting of
GTK GTK (formerly GIMP ToolKit and GTK+) is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and propriet ...
based software. Various multi-platforms graphics libraries and toolkits such as
Cairo Cairo ( ; ar, القاهرة, al-Qāhirah, ) is the capital of Egypt and its largest city, home to 10 million people. It is also part of the largest urban agglomeration in Africa, the Arab world and the Middle East: The Greater Cairo metro ...
and SDL are also available on Amiga, and are the basics for creating new and enhanced Toolkits, new GUIs, new systems of widgets, etc. There is also XML based toolkit
Feelin


See also

*
Magic User Interface The Magic User Interface (MUI in short) is an object-oriented system by Stefan Stuntz to generate and maintain graphical user interfaces. With the aid of a preferences program, the user of an application has the ability to customize the system ac ...
(MUI)


References


Further reading

* * *


External links


Beginner's Guide to Programming ReAction
{{DEFAULTSORT:Reaction Gui Amiga APIs AmigaOS 4 Widget toolkits